lambda abstraction - significado y definición. Qué es lambda abstraction
Diclib.com
Diccionario en línea

Qué (quién) es lambda abstraction - definición

FORMAL SYSTEM IN MATHEMATICAL LOGIC
Lamda calculus; Lambda-calculus; Lambda abstraction; Lambda-definable function; Lambda-definable functions; Lambda calculas; Beta reduction; Alpha conversion; Lambda-recursive function; Lambda programming; Eta reduction; Lambda Calculus; Untyped lambda calculus; Λ-calculus; Alpha equivalence; Eta expansion; Abstraction operator; Alpha reduction; Beta substitution; Beta conversion; Α conversion; Λ calculus; Β-reduction; B-reduction; L-calculus; L calculus; A conversion; Beta-reduction; Λa-calculus; Lanbda-calculus; Lambda kalkül; Alpha renaming; Lambda calculi; Λ-abstraction; AlphaRenaming; Α-conversion; Capture-avoiding substitution; Lambda term; Lamda expression; Alpha-renaming; Alpha-conversion; Eta conversion; Eta-conversion; Η-conversion; Η conversion; Lambda language; Type-free lambda calculus; Typefree lambda calculus; Type free lambda calculus; Eta-reduction; Functional abstraction; Λx; Λy; Λz; Anonymous function abstraction; Lambda-calculi; Lambda-term bound variables; Lambda terms; Alpha equivalent

lambda abstraction         
A term in lambda-calculus denoting a function. A lambda abstraction begins with a lower-case lambda (represented as "" in this document), followed by a variable name (the "bound variable"), a full stop and a lambda expression (the body). The body is taken to extend as far to the right as possible so, for example an expression, x . y . x+y is read as x . ( y . x+y). A nested abstraction such as this is often abbreviated to: x y . x + y The lambda expression ( v . E) denotes a function which takes an argument and returns the term E with all free occurrences of v replaced by the actual argument. Application is represented by juxtaposition so ( x . x) 42 represents the identity function applied to the constant 42. A lambda abstraction in Lisp is written as the symbol lambda, a list of zero or more variable names and a list of zero or more terms, e.g. (lambda (x y) (plus x y)) Lambda expressions in Haskell are written as a backslash, "", one or more patterns (e.g. variable names), "->" and an expression, e.g. x -> x. (1995-01-24)
data abstraction         
TECHNIQUE FOR ARRANGING COMPLEXITY OF COMPUTER SYSTEMS
Abstraction in object-oriented programming; Abstraction (programming); Abstraction (computer programming); Data abstraction; Control abstraction; Abstraction (computing); Abstraction (software); Abstraction (software engineering)
<data> Any representation of data in which the implementation details are hidden (abstracted). Abstract data types and objects are the two primary forms of data abstraction. [Other forms?]. (2003-07-03)
Anonymous function         
FUNCTION DEFINITION THAT IS NOT BOUND TO AN IDENTIFIER
Anonymous closure; Function literal; Function literals; Anonymous functions; Anonymous method; Lambda (programming); Function constant; Anonymous procedure; Anonymous subroutine; Anonymous routine; Procedure constant; Lambda (Python); Functional interface; Lambda function (computer programming); Lambda expression (programming); List of programming languages that support anonymous functions; Comparison of programming languages (anonymous functions); Arrow function
In computer programming, an anonymous function (function literal, lambda abstraction, lambda function, lambda expression or block) is a function definition that is not bound to an identifier. Anonymous functions are often arguments being passed to higher-order functions or used for constructing the result of a higher-order function that needs to return a function.

Wikipedia

Lambda calculus

Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation that can be used to simulate any Turing machine. It was introduced by the mathematician Alonzo Church in the 1930s as part of his research into the foundations of mathematics.

Lambda calculus consists of constructing lambda terms and performing reduction operations on them. In the simplest form of lambda calculus, terms are built using only the following rules:

  • x {\displaystyle x} – variable, a character or string representing a parameter or mathematical/logical value.
  • ( λ x . M ) {\textstyle (\lambda x.M)} – abstraction, function definition ( M {\textstyle M} is a lambda term). The variable x {\textstyle x} becomes bound in the expression.
  • ( M   N ) {\displaystyle (M\ N)} – application, applying a function M {\textstyle M} to an argument N {\textstyle N} . Both M {\textstyle M} and N {\textstyle N} are lambda terms.

The reduction operations include:

  • ( λ x . M [ x ] ) ( λ y . M [ y ] ) {\textstyle (\lambda x.M[x])\rightarrow (\lambda y.M[y])} – α-conversion, renaming the bound variables in the expression. Used to avoid name collisions.
  • ( ( λ x . M )   E ) ( M [ x := E ] ) {\textstyle ((\lambda x.M)\ E)\rightarrow (M[x:=E])} – β-reduction, replacing the bound variables with the argument expression in the body of the abstraction.

If De Bruijn indexing is used, then α-conversion is no longer required as there will be no name collisions. If repeated application of the reduction steps eventually terminates, then by the Church–Rosser theorem it will produce a β-normal form.

Variable names are not needed if using a universal lambda function, such as Iota and Jot, which can create any function behavior by calling it on itself in various combinations.